home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-30 | 50.6 KB | 1,357 lines |
- Sat Apr 29 08:48:06 1994 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Changed to release under GNU Public Library license. There
- have been a number of other fixes including fixes to bignums.
-
-
- Thu Jan 20 10:38:00 1994 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * version 624 made.
- * contains just changes so that compiles on solaris 5.2. The
- 623 version compiled on solaris 5.3, but the earlier 5.2 version of solaris
- had some differences which needed patches. These are contained
- in 624.
-
- Fri Dec 10 15:02:14 1993 Bill Schelter (wfs at nicolas.ma.utexas.edu)
- * version 623 made.
-
- * the check on string-trim for a list of chars is fixed.
- Much earlier the (string-trim '(2) "ab") would run forever.
- Then string-trim was broken.
-
-
- Sun Dec 5 15:34:44 1993 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * add solaris version: changes to several C files
- and new version of sfasl for elf.
- * linux port added.
-
- Thu Oct 29 13:20:17 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * make sure the signal stack is 8 byte aligned. Needed on sun os 4.1.2
- and higher.
-
- Thu Jun 4 06:18:20 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * fix allocation of copy space during an sgc for relocatable
-
- Wed Apr 29 09:02:59 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
- *cmpnew/lfuns.lsp make load,open, error-set go through lisp
- symbol, so users can redefine them (eg when loaded common lisp
- condition code stuff).
- * defstruct.lsp: put the conc-name in the current package,
- so that programs can discover the package in effect when
- the defstruct was done, in order to reconstruct accessors.
-
- Sun Apr 26 23:28:42 1992 Bill Schelter (wfs@sonia.ma.utexas.edu)
-
- * predicate.c: contains_sharp_comma handle non type t arrays
- * co1typep optimize for the '(satifies fun) type.
- * cmpinline.lsp, cmplabel.lsp, cmploc.lsp
- inline-integer (set-loc unwind-exit get-inline-loc)
- fixes by r harris.
-
- Thu Apr 23 15:09:44 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * cmpenv.lsp fix function return integer proclamation.
-
- Sat Apr 11 09:25:05 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * numlib.lsp: changes to ensure double accuracy not lost.
-
- Thu Apr 9 11:21:25 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * log,exp,.. get more accuracy if given a fixnum[don't use short-float]
- * cmptop.lsp empty keyword list bug (defun foo(&key) nil)
- * many files add hooks for dos port.
-
- Fri Mar 27 15:59:24 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * (cmpinline.lsp) inline-args of a closure var which changed later,
- signalled a compiler error.
-
- Wed Mar 25 14:38:41 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * (read.d) make read listen to when ':' is a read macro. in read_object
- * (cmpfun.lsp,cmpopt.lsp): Fix optimizer for (typep x 'ratio)
- * (predicate.c): fix equalp so (equalp (format nil "hi") "hi") -->t
-
- Wed Mar 11 14:16:59 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * (read.d): fix failure of (read-string "#b1"). Handle eof in
- read_constituent
-
-
- Wed Feb 26 21:38:04 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * cmpfun.lsp change read-char optimizer so as to avoid
- a C compiler bug on dec3100, which causes an unaligned access
- on that machine in calls to read-char.
-
- Wed Jan 29 08:30:09 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * hp800.{h,defs} changes to run incrementally loaded text in a
- separate segment (at 4zillion). Without this hp will only let
- you run one image at a time. Unfortunately there will be a slight
- degradation in indirect calls (which includes all calls between
- user functions). Why do they need to have segments....
-
- Thu Jan 23 17:01:37 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * add some save and retore around the terminal interrupt, to
- prevent some possible lossage when continuing from an interrupt.
- You still may lose if there is a gc during an interrupt.
-
-
- Wed Jan 22 19:08:11 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * support for mac under AUX. Files mac2.h, mac2.defs [by weigert]
- * misc small changes to other files for mac.
-
- Sun Jan 5 21:35:21 1992 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * new definitions for fplus and fminus in cmac.c The ones for
- the 68020 were incorrect (since the changeover of the bignum code).
- These were only used by maxima.
-
- Fri Nov 22 08:39:42 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Change proclaim of function so to turn integer
- proclained args into type T. It is not possible to
- pass raw integer type since this would cause a problem
- with gc. Also currently it would have generated C which
- broke the C compilation.
-
- Tue Oct 29 07:59:02 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * add misc/warn-slow.lsp. If this file is loaded, then the compiler
- warns of certain slow constructs, like undeclared arithmetic,
- and slow array references.
-
- Thu Oct 24 21:34:55 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * funlink.c to handle misproclaimed functions better.
- * big.c correct one source of "bad length" warning
-
- Sun Oct 20 12:55:35 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * gbc.c change position of where the C stack is marked from.
- This is relevant for sparcs with the register windows, which
- are dumped at interrupts.
- * cfun,gbc changes as per PCL mods for turbo closures.
- * read.d use 1000000000.0 rather than 1/ this , since it gives
- more accurate value in read of float.
- * cmpfun.lsp add hook for (typep x 'foo) so that can expand
- this differently according to a property of 'foo.
- * cmpcall.lsp, add a hook so that special code can be emitted
- for calls where a super_funcall_no_event would have been emitted.
- This code might be used where we expect closures (cf PCL)
-
-
-
- Wed Oct 9 21:31:03 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * read.d to make 0.7 and (/ 7.0 10) produce identical results.
- when read (at least on 68k,sparc, rios).
- We have left the default number of digits printed out as 17,
- in spite of the fact that IEE has only 15.95 significant digits.
- The reason is that correct rounding to 15 or 16 digits, will
- commonly cause things like most-positive-long-float to print
- in a form which is not even readable (since it is rounded up above
- the most-positive-long-float).
-
- Mon Oct 7 20:54:35 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * fix LD_COMMAND typo in hp800.h
- * fix replace_array to make the new array not live
- beyond the call, so that gc won't accidentally mark two
- copy two identical array bodies (so maybe overstepping the
- the new relblock)
-
- Fri Oct 4 10:58:59 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * close to work on already closed streams.
- * make_pure_array arg fixed (num_log.c)
- * estack_buf put in static area on machines like rios.
-
-
- Sun Sep 29 12:43:54 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * fix to relblock allocation in sgc_start
- * fix for paths with "~/"
- * change default pagesize on sun3 to 4k
-
-
- Sat Sep 7 13:51:24 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * fix bit-array-op to make correct call to si::make-array-pure
- (num_log.c)
-
- Mon Aug 5 18:06:35 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * wt-cvars add declaration for VXXalloc variables
-
- Tue Jul 30 16:48:09 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * interpreted mapcar not gc protecting when given more than 2 args.
-
- Sat Jul 27 12:32:35 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * changes to subtypep to make (subtypep 'cons '(and t cons))
- and (subtypep 'simple-array '(not vector)) correct.
-
- Fri Jul 26 09:25:56 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * change equal and hash_equal not to descend into structures.
- A ruling in CLTL2, clarifies that this should be the case.
- * alter get-setf-method and friends to accept environment as second
- argument. Alter all the complex setf methods to pass the environment
- so that local functional and macro bindings can alter the behaviour
- of the setf macro.
-
- Tue Jul 23 06:25:39 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * sharing for fasd files for package operations was disabled.
- Otherwise the symbol in a shadow would be shared with the symbol's
- later occurrence in the file--It is still a good idea to put
- package operations in a separate lisp file at the beginning of
- system load.
- * adjustable arrays brought into conformance with changes in CLTL
- II. You
- may now adjust non adjustable arrays, and the fill-pointer argument
- to adjust-array does not change the property of having or not having
- a fill pointer for the array.
-
-
-
- Sun Jul 21 12:44:04 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * fix cmac.c for maxima (error in dblrem)
-
- * sloop for v on l by 'joe
- changed to allow for the possibility that joe is a macro.
- [used by maxima].
-
- Wed Jul 10 10:45:54 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * littleXlsp is included which provides an interface to some
- simple X windows routines. It is not in the image by default
- See the file lsp/littleXlsp.lsp for directions.
-
- Tue Jul 9 16:29:23 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * add VOL declarations for setjmps in format.c to allow to work
- with gcc on the sparc.
- * add stuff to cmplam.lsp for VOL declarations of &aux variables.
-
-
- Wed Jun 26 20:59:04 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Change to gc mark of c stack to make sure register windows
- are flushed, by calling recursively.
- * add special bignum code for rs 6000 and aix 370
- * fix for read suppress and the defstruct reader.
- * Source level debugging improved (see doc/DOC and doc/dbl.el)
- * Catch infinite recursion of proclaimed functions. Handle
- segmentation faults on an alternate stack--so don't play around
- to much after a segmentation fault before quitting to top level.
- * support for hp800 (and hp700) added.
-
-
- Wed May 22 14:54:29 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * added new slot to struct stream, to hold the buffer.
- gbc.c and file.d had been referencing the field in FILE
- directly, but that is not reliable on att Sys V 4.
-
- Thu Apr 11 17:04:54 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * add conc-name to the s-data structure so users may get at
- it (defstruct.lsp).
- * add install_segmentation_catcher() and also in error()
- (ususually arises from real segmentation faults), then turn
- off sgc, if it's on, to avoid having the error handler stall
- on trying to alter pages which are write protected (since
- we are still within the memprotect_handler.
-
- Thu Apr 4 08:37:50 1991 Bill Schelter (wfs at max.ma.utexas.edu)
-
- * If HAVE_YP_UNBIND is defined, added to c/main.c the
- unbinding of the default yp domain. In sun os 4.1
- we were getting a segmentation fault in _yp_dobind_soft()
- on a restarted system.
-
-
- Sat Mar 30 09:01:57 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Fix listen and clear-input (file.d and read.d).
- macros LISTEN_FOR_INPUT and HAVE_IOCTL are defined in
- att.h, bsd.h, and for the aix systems. I have tested
- it under aix, sun, 4.3bsd, sgi4d and hpux. Not sure about
- vannilla sysv (may have to be #undef'd there).
- * fixed pathnames such as "~wfs/foo.lisp" to work.
- (see unixfsys.c).
-
-
- Mon Mar 25 12:25:34 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Make sure that long float arrays get allocated on multiple of
- sizeof(double ) alignment array.c,gbc.c.. Also unixfasl.c
-
- * Add to Smakefile an initial execution of xbin/{machine}-fixes
- if that file exists. Use this for correction of temporary bug
- fixes, such as the bad sgi4d c compiler.
-
-
- Mon Mar 18 12:06:26 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * The structure of bignums and the underlying code was changed
- completely. This affected many files including big.c,num_co.c
- print.d, read.d, predicate.c, num_arith.c,.. See the file doc/bignum
- for a discussion. The compiler was also changed to include
- integer as a primitive type with storage allocated on the stack.
- * A notion of deducing result type from argument types was
- added to the compiler. Initially we are just doing that for
- the basic integer functions, but it can be extended to others
- * The optimization in cmpopt.lsp have been changed to allow more
- flags to accommodate things like the result-type-from-args.
- The compiler will normally warn (for the time being) if you
- give it old style optimizations. Because of the extensive
- changes to the compiler I have changed the default safety
- for compiling the cmpnew directory back to 2.
-
- Thu Feb 14 16:06:42 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * debug.lsp, eval.c: fix break-step-next and break-step-into to pass
- the correct environment back so that evaluating variables or
- local functions will be done correctly in the debugger.
-
- Mon Feb 11 16:24:15 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Fixed *break-points* function to bind the correct enviroment
- so that variables will get the right values.
-
- Mon Jan 7 21:21:22 1991 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * make inline string adjustable (cmptop.lsp)
- * multiple changes to lsp/debug.lsp and lsp/top.lsp
- to allow source line debugging using si::nload.
- * debugger largely redone. :bt new backtrace
- function (:b still there). see DOC file
- * add xdr-open xdr-write xdr-read to the si package.
- * akcl 532 compatible with maxima 4-153
-
-
- Wed Dec 5 01:49:50 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * check_alist should allow nil, since the CLTL allows nil
- in place of a cons in an alist.
- * many changes to debug.lsp, eval.c and top.lsp to allow
- source level debugging. The emacs file dbl.el was added.
- It and the DOC file contain more information, but basically
- there is automatic source display when broken in the debugger
- (for lisp files loaded with nload).
-
- Tue Nov 20 20:07:02 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Changes to all places where function assignments are made
- to allow the hook compiler-def-hook, to be run. This hook
- is used by the new source code debugger dbl.
- * dbl allows debugging of lisp code with a display of an
- arrow in the window opposite the line currently broken at
- or being executed.
- * The safety on the cmpnew files has been changed to safety 0.
- Please notify of any places where this causes a problem! It
- should result in significantly faster compilation. The error
- checks should be in the source.
-
- Thu Nov 8 05:31:34 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * fix aix3_mprotect/mprotect.c [wrong calculation of overflow]
- * fix memory_protect in sgbc.c
-
-
- Wed Nov 7 09:56:30 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Change compiler-clear-compiler-properties, to take 2 args. This
- is to provide compiler-def-hook, which lets you get the code just
- before it is installed.
-
- * Misc support for IBM 370 mainframe running under AIX. (u370)
- * change malloc at startup to use some static space, since
- the gc may not be initialized before some startup routines need
- to malloc (aix3).
-
- * fix to cmptag.lsp. Tags in cross closure tagobdies were sometimes not
- being written out. (bug had been there forever). C compiler would
- fail when the tag was not there.
-
-
- Fri Oct 26 15:00:37 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * change call_proc, the routine used to link proclaimed functions.
- It was not incrementing vs_top soon enough, so that with args
- (t t fixnum), with fast links off, the make_fixnum caused by
- the last arg, might cause a gc which zeroed the vs stack above
- vs_top, so eliminating arg1. Symptom was an <objnull> passed
- as second arg. This could only happen when functions were proclaimed,
- and had type not = t.
-
- Sat Oct 6 08:08:47 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * change assoc in list.d so (assoc nil '(nil (nil . a))) --> (nil
- . a)
- also change cmpfun.lsp in the compiler for this. (bug rep mccain)
- * Allow #' in the (:print-function #'(lambda (..)) defstruct option
- (bug report baxter)
-
- Thu Sep 20 19:05:05 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Fix cmpthrow in cmpcatch.lsp so that handles
- lexical closures correctly.
-
- * Fix cmpeval.lsp for incrementing a structure slot
- which is fixnum.
- * Fix cmpmain.lsp adding support for the floating point
- save ops on rios.
-
-
- Sun Sep 2 16:44:24 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Fix perm_writable. It was leaving out the last page! (Vignaux)
-
- Mon Aug 20 15:15:03 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * fix acos and asin in numlib.lsp (bug was (acos .5) was complex!)
-
- Wed Aug 15 14:01:06 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * to fasdump.c: close_fasd was munging the array handed
- to it to cleanup. This could cause gc problems later.
-
- * Several changes to gc. The alloc_relblock function fixed
- to take into acount that rb_start - heap_end may not be
- holepage anymore [since if sgc_enabled we have a second
- `sgc' rb_start after the first]. We ensure that nrbpage
- is actually the combined number of pages for relblock,
- for sgc and regular gc. (alloc.c)
-
- Tue Aug 14 16:04:19 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
- * changes to sgc to the way memory protection is turned on.
-
- * There may be problems with saving an image with (sgc-on t)
- These have not been resolved, at least under rios, and perhaps
- other machines.
-
- * many changes for aix 3, for rios
-
- * for sgi, change the Init_links to come before doinit
- * the sgi4d does not need the links stuff.
-
- Wed Aug 8 21:59:37 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Change to h/secondary_sun_magic to make it have 8 characters.
- * fix use-package so that allows using a package with an external
- symbol, if that symbol is shadowed by the current package.
- * Several fixes for sun os 4.1 (secondary magic stuff).
-
- Wed May 23 11:47:34 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Make traced functions stay traced after redefinition
- [change clear_compiler_properties, and its many callers]
- * Fix two bugs introduced in trace.lsp when its functionality
- was increased.
- * fasdump.c (fix coercion).
-
- Thu Apr 12 15:28:49 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Change behaviour of proclaimed, compiled keyword argument functions, so that
- duplicate keys are allowed, and the leftmost takes precedence.
- [bind.c:parse_key_new]
-
- Mon Apr 9 14:48:43 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * make subtypep (predlib.lsp) handle types of form '(not p) correctly. This
- in turn influences compiler optimizer handling of (typep x '(not p))
- * fix read (read.d) so that it allows eof to occur during reading of a semicolon
- comment line.
- * fix c1values (cmpmulti.lsp) so that (values (truncate a b)) does just
- return one value.
-
- Sun Apr 1 22:11:46 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * make float-digits and float-precision return the significant
- digits in terms of float-radix.
- * If si::*print-nans* is not nil, then the C printing of Nan's
- and infinity surrounded by #< > will be used.
-
- Fri Mar 30 10:24:35 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * gbc.c, sgbc.c: displaced arrays have been a real headache.
- (dotimes (i 5000) (make-array 1 :element-type 'string-char :displaced-to
- (format nil "0")))
- would cause bad things to happen in kcl and akcl. I finally decided
- that the link between an array and the array it is displaced to should
- be made firm. If A is displaced to B, the user can always do adjust-array
- on A to destroy the displacement. But from now on, as long as the
- displacement exists then if B is marked this will cause marking of A,
- and vice versa.
-
- Wed Mar 28 16:41:17 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * cmpeval.lsp co1structure-predicate:
- (defstruct foo a b ..) then foo-p was less efficient
- than it had been in some earlier release.
- Note:after (si::freeze-defstruct 'foo) you get the fastest foo-p,
- since this declares the hierarchy of structures including
- foo to be frozen.
-
-
- Wed Mar 7 13:30:57 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * fixed copying of relblock in gc, so that if an array body
- is allocated on C stack [the read_fasd does this for a temp array
- it needs] then this array will not be copied. In some cases this
- could have caused the copied relblock to exceed nrbpage size, which
- is all that sbrk had provided.
-
- * read-fasd could not be recursively entered from the lisp_eval calls which
- were possible [from things like require or other package ops].
- Fixed in fasdump.c
-
-
- Mon Mar 5 11:54:49 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Increase BDSGETA to allow some freedom in the debugger after
- a bds overflow.
-
- Tue Feb 27 09:19:49 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * fix printing NIL relative to a package not using LISP.
-
- Tue Feb 20 00:10:58 1990 Bill Schelter (wfs at fireant.ma.utexas.edu)
-
- * Add compiler::*split-files*, to allow convenient splittling of
- large lisp files, for C compilers which can't handle infinitely
- long C files. See doc/DOC file.
- * Fix to fasdump.c. Broke when a .o file was loaded during compilation.
-
- Fri Feb 16 09:11:08 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * si::*load-pathname* is now bound to the pathname of the current file
- being loaded.
-
-
- Sat Feb 10 13:36:44 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Add the co1special prop check in c1symbol-fun, for fixing macros which
- expand into declares in do, do*, prog, prog* (see also cmpfun.lsp)
- * Fix level in c2call-local (bug report by harris).
-
- Tue Jan 23 18:37:58 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * change to siLreplace_array, so that the first word of the old
- array header is preserved, so that in case sgc is on, the
- array won't be marked SGC_RECENT, and so garbage collected if
- there were no pointers to it.
-
- Sun Jan 21 20:30:48 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Many changes to the compiler: Only defuns and defmacros are
- compiled by default. A flag compiler::*compile-ordinaries* if
- t means all forms will be compiled (use this for pcl at the moment).
- See doc under compile-file.
- * eval-when default behaviour changed to be in line with the X3j13
- CL standard. See compile-file doc.
- files: fasdump.c,cmpaux.c,cfun.c, cmptop, cmpwt,cmpenv, cmpspecial,
- cmpflet.
- * some advantages of the new init scheme. Some files can be substantially
- smaller, and there is more flexibility in writing out the init. Things
- like closures which are constant, can be set in as constants.
-
- Thu Jan 4 23:24:46 1990 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * make sublis for eql equal and eq be substantially more efficient.
- [list.d, and cmpfun.lsp]
- * fix file_exists for AIX (stat returns 0 there even if file
- ending in slash is not a directory (ie /u/all/bmt/.login/ would
- have existed.
- * make boolean be a real type, so that we can distinguish between
- calls to a function which want only a boolean reply or calls
- which need more. An example is probe-file which can be 30
- times faster when only a boolean reply is needed, not the truename.
- This required changes to cmptype,cmpif cmpinline.
- * add additional optimizations to cmpopt.lsp.
- * fix vector-push-extend optimization [cmpfun, cmpopt]
- * various fixes to sgc
-
-
-
- Sat Dec 23 18:30:03 1989 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Fix multiple-value-prog1 in cmpmulti.lsp
- (eval-when (compile) (proclaim '(function foo (t t) t)))
- (defun jil () (multiple-value-prog1 (values 1 2) (foo 3 4)))
- (defun foo (a b) (joe a b) (cons a b))
- (defun joe (a b) (list a b))
- would have (jil) --> 3 4 until this fix. This dates from original kcl.
-
-
- Tue Dec 5 20:22:58 1989 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * changes to alloc.c, gbc.c, page.h, object.h to allow stratified
- garbage collection [SGC]. This should help systems with
- a large amount of relatively static data. Only pages written
- to since sgc-on need be marked and swept. See DOC file.
-
- Sat Nov 11 07:08:27 1989 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Add various va_end(ap)'s to match unmatched va_start's.
- * add in some changes for hp300's faslink.
- * add additional support for cmpnew/collectfn.lsp See the
- documentation in the DOC file for emit-fn and friends.
- Basically it is for getting proclamation info, who-calls info,
- undefined info, from a pass of the compiler on a system.
- * add additional undefined warnings for undefined lisp package
- functions in addition to the list-undefined-functions.
-
-
-
- Tue Oct 31 06:02:18 1989 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * add support of Iris 4d machine.
- * Fix COERCE_VA_LIST for non standard machines, to
- take the argument n.
- * Make sure defun, defmacro,.. clear the accessor property
- for defstruct slots.
-
- Sat Oct 28 11:06:25 1989 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * remove an abort() from rel_sun4.c. This type
- of relocation now occurs, and our method has been tested.
-
-
- Fri Oct 27 23:01:42 1989 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * if the *system-directory* directory contains the file sys-init.lsp
- then this file will be loaded at startup. This facility
- is used for printing the warning message at startup, but
- can be used for local modifications. Also by having two
- system directories [via links and different commands]
- different startups could be loaded. All this is in
- addition to the regular init.lsp. The purpose of this
- is to allow patches to be loaded, without requiring a
- resaving of the image. [Recall the system directory
- is the first argument to invoking a saved_kcl, or
- the first part of the pathname if there is not a first arg
- Typically it is the unixport directory if you use the
- xbin/kcl command]
-
- Tue Oct 24 20:23:56 1989 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * Add packlib to the unixport/boots file so that help*
- gets compiled using the new do-symbols macro.
- * Add alternate malloc.c file from gnu emacs, if you
- define GNU_MALLOC. This runs much faster (15X) if you are
- incorporating lots of C code with mallocs.
-
-
- Thu Oct 19 21:28:25 1989 Bill Schelter (wfs at nicolas.ma.utexas.edu)
-
- * add si::fwrite and si::fread for doing io on file streams.
- * Eliminate the need for the separate compiler file cmpinclude.h
- This means that only one file is now needed for an executable,
- and there won't be confusion over which cmpinclude.h goes with
- which version. We store the file as a string, and write it
- into the c files as they are compiled [if *cmpinclude-string* is
- a string and :system-p t is not given to compile]. The time
- difference for doing the extra write is not measurable, even
- with tiny compiles.
-
- Wed Oct 4 23:41:17 1989 Bill Schelter (wfs at rascal)
-
- * co1eql was causing a double evaluation
- in some special circumstances.
-
-
- Mon Oct 2 08:48:30 1989 Bill Schelter (wfs at rascal)
-
- * Many changes to the compiler to support &optional, &rest
- &key args to be passed on the C stack. This is still limited
- to functions proclaimed to return one value.
- * Allow user to grow the stacks from top level [see *multiply-stacks*
- doc]
- * Code for making proclamation files and collecting
- cross referencing data in cmpnew/collectfn.lisp. This
- is to allow a second compile of a system to take advantage
- of information obtained in the first compile.
- * catch-fatal added.
- * read.d float read fixed for little endian machines.
- * do,prog,prog* and do* compilation fixed so that declare's
- at the beginnning of the bodies which are hidden by macros, are
- detected and processed.
- * :dynamic-extent declaration recognized to allow &rest
- * proclaimed functions with one return value, will now be
- compiled to use the C stack even if they have more than 10 args.
-
-
-
-
- Tue Sep 5 22:15:23 1989 Bill Schelter (wfs at rascal)
-
- * Change add-function-proclamation to be more efficient
- when handed long lists of proclaims. Maxima for example
- generates 3871 proclaims of functions. This now takes
- 4 seconds instead of 2 minutes.
-
- Mon Sep 4 00:25:29 1989 Bill Schelter (wfs at rascal)
- * cfun_to_combined fixed for t_sfun,t_gfun.
-
- * ihs_function_name fixed for t_sfun,t_gfun
- Mainly used in error handling and printing.
-
- * compiled-function-name fixed to handle t_sfun,t_gfun
- [this is used in the error handler]
-
- Thu Aug 31 09:57:09 1989 Bill Schelter (wfs at rascal)
-
- * fix reduce in seqlib.lsp.
-
- Wed Aug 30 16:44:05 1989 Bill Schelter (wfs at rascal)
-
- * change cmpeval.lsp,cmploc.lsp to make small fixnums
- write out without the indirection through VV
-
-
-
- ---------Version 206-------------
-
- Mon Aug 28 13:44:49 1989 Bill Schelter (wfs at rascal)
-
- * cmptag.lsp:add-reg changed to handle dotted list case
-
- * Added new types t_sfun, t_gfun of compiled function
- objects to save space and speed funcall. See doc/funcall
- for details. Many c files changed as well as compiler.
-
- * cmpeval.lsp: made #, have the c1special property,
- instead of c1, so these will compile properly on safety 3
-
- * add si::set-mv, si::mv-ref, to allow people to implement
- faster version of multiple values. Someday this way will
- be the default [see doc/multiple-values and lsp/fast-mv.lisp]
-
-
-
- Thu Aug 10 11:51:05 1989 Bill Schelter (wfs at rascal)
-
- * Fixed prev fix to print in print.d so that ok if stream = t.
-
-
- Mon Aug 7 10:19:11 1989 Bill Schelter (wfs at rascal)
-
- * Support for HP300bsd (bsd from mt xinu) added.
- * print fixed to add space after printing.
- * describe modified to print more information on structures
-
- Fri Jul 28 09:18:15 1989 Bill Schelter (wfs at rascal)
-
- * trace.lsp Add keyword args allowing special
- entry, exit, conditional and other handling of
- traced forms. You can for example specially print
- args, or break if args or values are inappropriate.
- See file doc/trace.
-
- * c1decl-body: recognize safety level on first pass.
-
- Sat Jul 8 15:21:42 1989 Bill Schelter (wfs at rascal)
-
- * defstruct.lsp and read.d:
- Fix patch_sharp to handle structures, and sharp-s-reader
- to do its reads recursively.
- Allows constructs such as #1=#S(joe a #1#) to work.
-
-
- Fri Jul 7 13:40:45 1989 Bill Schelter (wfs at rascal)
-
- * make sure the co1 properties are cleared when functions
- are defined.
-
- Mon Jul 3 15:05:51 1989 Bill Schelter (wfs at rascal)
-
- * Fix sharp-s-reader in defstruct.lsp and remove it
- from iolib.lsp
- * remove =* and =- from gbc.c package.d
- * fix c1value to behave correctly when one value supplied
- in cmpmulti.lsp
- * change #. and #, to interact correctly when called
- after #+ or #-
-
- Fri Jun 2 20:48:06 1989 Bill Schelter (wfs at rascal)
-
- * sfasl.c gbc.c change error messages from using stderr
- to stdout. Note the first file descriptor the user
- opens is typically stderr, so these error messages (which
- rarely occurred) did not appear on the screen but rather
- caused resetting the file pointer of the user's stream!
-
- Wed May 31 20:31:04 1989 Bill Schelter (wfs at rascal)
-
- * package.d,symbol.d, packlib.lsp: Changes
- to package hashing and intern. Allow flexibly
- sized packages instead of insisting that all
- internal and external packages use table with 512 elts.
- I recommend a prime number as size. The size of
- the internals table is automatically grown when there are 2 x
- as many symbols as the table size.
- For the byte-reader.im-test file (580K) the read time
- went from 24 seconds to 16.8 seconds. (had been 53 seconds).
- in-package and make-package take keyword args
- :external and :internal to allow specification of the
- size of the table for a new package.
-
- Tue May 30 23:00:46 1989 Bill Schelter (wfs at rascal)
-
- * fix writing of small and large double floats
- in cmpeval.lsp, so that all numbers from smallest
- double to largest may be included as constants
- in compiled code.
-
-
- Sun May 28 16:22:07 1989 Bill Schelter (wfs at rascal)
-
- * array.c:array_allocself takes an additional argument,
- specifying the default value, or NULL if no initial
- value is to be given.
- si::make-vector has an additional optional arg of the
- default value.
- * seqlib also has calls to array_allocself, which take
- a 0 final arg, indicating that the initialization
- is not to be done.
- * array.c: siLcopy_array_portion added, to allow quick copying
- from one array to another.
- * In top.lsp the *eof* is changed to a local, so as not
- to conflict with the si::*eof* which is the value returned
- by the system when doing getc.
- g
-
-
- Fri May 12 10:57:39 1989 Bill Schelter (wfs at rascal)
-
- * Add optimization for (type x 'foo) where
- foo is a structure. This also affects foo-p.
- If you (setq compiler::*frozen-defstructs* t)
- this allows the compiler to assume that a given
- defstruct will not be extended (by including
- it in more structures) by new defstructs loaded
- in later files. This can significantly speed
- up type checking.
-
-
- Thu May 11 07:43:52 1989 Bill Schelter (wfs at rascal)
-
- * Fix omission of the extended mul for sun4 in 1.22
- Now a new dependent feature EMUL lets you specify
- an assembler file in the o directory, which will
- be loaded in at the end.
-
- * AKCL added to the *features* list. This is
- now necessary because of internal differences in structures
- between the standard kcl and akcl.
-
- Structure changes are pretty well complete.
-
- Wed May 3 12:11:54 1989 Bill Schelter (wfs at rascal)
-
- * Fix ceiling and floor (num_co.c) by riley
-
- Mon May 1 08:05:55 1989 Bill Schelter (wfs at rascal)
-
- * fix to gc of displaced arrays. (bug report
- and partial fix by riley). Files gbc.c array.c
- undisplace was referrring to possibly freed list
- structure.
-
- * Structures are being completely reworked.
- There are two reasons:
-
- To use much less overhead at compile time of the
- original defstruct.
-
- To allow raw types in defstructs, and allow packing
- of these. For example a slot (x 0 :type (mod 50)) will
- only require 1 byte. These structs may be made to
- coincide with C structs more closely. All ptr or full
- fixnum fields will be aligned on a multiple of the size
- of ptr however for speed of reference and portability.
-
- Needless to say recompilation is necessary for most files.
- System files affected gbc.c, defstruct.c, predicate.c, print.d
- defstruct.lsp cmpfun.lsp cmputil.lsp cmpeval.lsp predlib.lsp
- and maybe some other small changes.
-
- Naturally significant speedups will be gained if one can
- keep integers in raw form:
- (defstruct ja1 (a #\a :type character)(b 0 :type fixnum))
- (defun joe (x n) (sloop::sloop for i below n do (setf (ja1-b x) i)))
- Then (joe (make-ja1) 1000000) takes less than 1 second now,
- as opposed to over 50 seconds prior to these changes.
-
-
- Wed Apr 26 11:59:43 1989 Bill Schelter (wfs at rascal)
-
- * Add message feature for AKCL start up. If unixport/message
- exists and unixport/message-suppress does not, then
- the file unixport/message will be printed on start up. (top.lsp)
-
- * make o/akcllib.a, a library containing bcmp .. and other
- common functions which are not present in all versions of unix.
- The main link puts this after -lc, so that faster implementation
- dependent versions will be used if they exist.
-
- Mon Apr 24 20:28:49 1989 Bill Schelter (wfs at rascal)
-
- * Change to eliminate char_table.s assembler code.
- This change will unfortunately require users to recompile
- their object code for use with this system.
-
- * Fix bug in cmpinline.lsp, which was allowing
- (rplacd (cons a b) nil) to give the wrong code.
-
- * Add timing for gc, and allow have the si::*notify-gbc*
- flag cause printing the type of gc.
- To time gc's. do (si::gbc-time 0), to set the timer to
- 0, (si::gbc-time -1) to reset and turn it off. It
- returns an integer in internal time units, similar
- to get-internal-run-time.
-
- * Speed up the lisp reader and intern. On a large file the
- read is 2.4 times faster than it was.
-
- * Many small changes to the include files, to eliminate duplicate
- definitions of symbols, (not allowed by some compilers)
- and also adding COMM_LENG, which can be null for most compilers
- but should be a small integer for the IBM c compiler (it
- does not accept external declarations int foo[], so we do
- foo[COMM_LENG];
-
-
- Fri Apr 21 18:13:23 1989 Bill Schelter (wfs at rascal)
-
- * Fix bug with the new fast read-byte,....
- If the stream argument was supplied, and was not a stream
- but rather T or NIL, there was a problem. If you declare
- the arg to be of type stream, then you will get identical
- code to before; otherwise a typecheck for type stream
- will be supplied, branching into the slower code for
- non streams.
- Files cmpopt.lsp and cmptype.lsp
-
-
- Tue Apr 18 22:56:54 1989 Bill Schelter (wfs at rascal)
-
- * More changes to read-byte, write-byte, read-char and
- write-char. I have removed the :in-file and :out-file
- declarations, and the speed up for the undeclared streams
- should be virtually the same as obtained with the declarations.
- This will affect mainly file streams. Files cmpfun.lsp,
- cmpopt.lsp, cmpinclude.h, read.d
-
- Note that on read-byte it is still advantageous to use an
- eof which is a fixnum.
-
- reads where the eof-error-p arg is not nil are not speeded up.
-
- It is still the case that two way streams are not speeded up,
- however if (si::fp-input-stream str) returns non nil, then
- you can use the resulting stream for fast input.
-
- Thu Apr 13 00:20:11 1989 Bill Schelter (wfs at rascal)
-
- * fixes to subtypep (as reported by riley)
-
- * changes to allow faster operation of read-char,write-char,
- read-byte and write-byte, when operating on file streams.
- In order to use these you should declare the stream
- to be :in-file or :out-file.
- You can use (typep str :in-file) to
- check if it is really valid.
-
- (defun myread (str)
- (declare (:in-file str))
- (the fixnum (read-byte str nil -100)))
-
- The above changes should work for ansi C style stdio,
- in particular for unix io. At the moment it is conditionalized
- for +unix.
- files: cmpfun.lsp, cmpopt.lsp, cmtype.lsp, file.d, cmpenv.lsp
-
- The difference in reading speed is substantial: eg 3 microseconds
- as opposed to 60 microseconds for read-byte.
-
- To make your code portable do
- (proclaim '(declaration :in-file))
-
- In order for the optimizations to cut in,
- the read functions must be supplied with 3 args and the
- write functions with 2. The second of the read args
- must be nil.
- Note with read-byte, using an eof value which is a fixnum,
- allows you to declare the location you will pass to as a fixnum.
-
-
-
- Wed Mar 22 17:19:03 1989 Bill Schelter (wfs at rascal)
-
- * Change c1fmla-constant in cmpif.lsp.
- (if (null 2) x y ) was yielding x not y!
-
- Sun Mar 19 12:26:21 1989 Bill Schelter (wfs at rascal)
-
- * fix stream_at_end, so that a stream opened for `io'
- does the check, when reading, so that read can
- return eof properly.
-
- Sun Mar 12 01:40:53 1989 Bill Schelter (wfs at rascal)
-
- * speed up the intern of symbol in pack_hash
- computation.
-
- * psetf bug in case of two args (psetf a 3)
- not passing the environment. setf.lsp
-
-
- Fri Feb 24 22:27:22 1989 Bill Schelter (wfs at rascal)
-
- * add fixes for &environment to allow it to come
- anywhere in the lambda list. defmacro.lsp and cmplam
- (change from R. Harris).
-
- Wed Feb 22 17:24:30 1989 Bill Schelter (wfs at rascal)
-
- * fix tree-equal to save the previous test in list.d
- (assoc '(c) '((a b) ((c) d)) :test #'tree-equal) failed.
- (by Cooperman)
-
- Sun Feb 19 17:42:31 1989 Bill Schelter (wfs at rascal)
-
- * Fix hash_equal in hash.d. It was broken for circular
- structures or lists. This would affect sxhash as well
- as equal hash tables.
-
- * Fix obscure bug in compiler in cmptop.lsp, which could
- possibly leave out a sup declaration. The c compiler
- would catch this.
-
- * Fix comparison of arrays under equalp in c/predicate.c
- It had been broken for rank different from 1.
- * Fix the assembler for the sun4 in sun4_chtab.s for
- multiply. (bug report by Harris).
-
- Fri Dec 9 00:47:46 1988 Bill Schelter (wfs at rascal)
-
- * Made changes to sfasl to make it more portable.
- * added structures and characters to the types
- handled by fasdump.c
- * changed the c stack check in gbc.c to use cs_check.
-
- Sun Nov 27 12:31:13 1988 Bill Schelter (wfs at rascal)
-
- * Add si::fp-input-stream, si::fp-output-stream,
- Which take one arg a stream, and return a stream
- with an strm->sm.sm_fp slot suitable for use with fread and fwrite.
- If this is not possible nil is returned.
-
-
- Wed Nov 2 16:09:17 1988 Bill Schelter (wfs at rascal)
-
- * inline-args fix:
- (defun x (c s i)
- (declare (optimize (safety 2)))
- (declare (fixnum i))
- (setf (char s (setq i (1+ i))) c))
- made c, not just i a fixnum in the char compilation,
- fixed in inline-args (by E. Wang) edward@ucbarpa.Berkeley.EDU
- file cmpinline.lsp
-
- Wed Oct 12 17:01:06 1988 Bill Schelter (wfs at rascal)
-
- * Added new array types: files cmptype,array.c,typespec.c,cmpopt,
- predlib.lsp, gbc.c, and maybe some others.
- Purpose of the change was to allow programs like CLX which
- use lots of numerical arrays, to be much more economical.
- Also make-array now coerces the element-type in a reasonable
- way, and the same handling is used in the compiler.
-
- New array element types:
- signed-char, unsigned-char, signed-short, unsigned-short
- The ranges on a SUN are
- ((INTEGER -128 127) (INTEGER 0 255) (INTEGER -32768 32767)
- (INTEGER 0 65535)) respectively.
- Note that now
- make-array will always try to find the `best' array to
- accommodate the element-type specified. For example on a SUN
- (mod 1) --> bit
- (integer 0 10) --> unsigned-char
- (integer -3 10) --> signed-char
- si::best-array-element-type is the function doing this. It
- is also used by the compiler, for coercing array element types.
- If you are going to declare an array you should use the same
- element type as was used in making it. eg
- (setq my-array (make-array 4 :element-type '(integer 0 10)))
- (the (array (integer 0 10)) my-array)
-
-
-
- .. When wanting to optimize you need to make a reference:
- (the fixnum (aref (the (array (integer -3 10)) ar) (the fixnum i)))
- if ar were constructed using the (integer -3 10) element-type.
- You could of course used signed-char, but since the ranges
- may be implementation dependent it is better to use -3 10 range.
- make-array needs to do some calculation with the element-type
- if you don't provide a primitive data-type. One way of doing
- this in a machine independent fashion:
- (defvar *my-elt-type* #. (array-element-type (make-array 1
- :element-type '(integer -3 10))))
- Then calls to (make-array n :element-type *my-elt-type*)
- will not have to go through a type inclusion computation.
-
-
-
- Tue Oct 11 09:52:13 1988 Bill Schelter (wfs at rascal)
-
- * When using gcc, it could happen that there was
- a string in in the init function, which got placed
- before the init function. Had to add -fwritable-strings
- to stop this.
-
- Sun Oct 2 13:35:11 1988 Bill Schelter (wfs at rascal)
-
- * Fix MP386 and att port bugs, introduced with the
- new mp386.h, att.h and mp386.defs files.
- * Fix unixtime at least for bsd, so that get-internal-real-time
- does not wrap every few hours, but will not wrap below 400 days.
- * Fix directory problems with compiling in other than the current
- directory, in the name of the file specified in the include.
- The command on most systems cd 's to the directory to run the
- cc, and so the .h file needed to use an unprefixed name.
-
-
- Sat Sep 24 16:02:22 1988 Bill Schelter (wfs at rascal)
-
- * Changes to the computation of double-float-epsilon
- and more generally XX-epsilon. First they did not
- satisfy the condition of
- (defun fo (e) (not (= (float 1 e) (+ (float 1 e) e))))
- (fo double-float-epsilon) --> t
- as per CLtL. As it stands they at least satisfy the
- test, although there may be floats slightly smaller which
- also do.
-
- Second on some machines (eg HP) the calculation done
- in line, carried more precision than that which would
- be normal when passed through eql, so that we changed
- the test == in constructing the double float epsilon
- to use a function call. Otherwise the epsilon was
- ~10^-20 instead of the correct ~10^-16.
-
- Thu Sep 22 14:08:07 1988 Bill Schelter (wfs at rascal)
-
- * Fixed hash_equal not to use the cast to int,
- in computing hash of a symbol name
- since this made sun4's unhappy (file hash.d ).
-
- Wed Sep 14 12:02:35 1988 Bill Schelter (wfs at rascal)
-
- * fix to setf to make sure that
- (defmacro joe (x) `(progn t (car ,x)))
- (defsetf joe rplaca)
- work correctly. files changed are assignment.c and setf.lsp
- The defsetf'd definition takes precedence in the macroexpansion.
- The bad order was introduced when the evaluation of the macros including
- their environments was introduced (see below).
-
- Mon Sep 12 10:09:56 1988 Bill Schelter (wfs at rascal)
-
- * use varargs.h for bind.c and list.d where
- variable length args are passed. We only use
- va_arg(ap,object) to access the next arg now.
- There are no more indexed references, since that
- is less portable.
-
- * A major change for porting: Each machine type
- now has a .h file of its own, and things like alloc.c,
- main.c, unixsave.c no longer should be modified for
- individual machines. The file config.h is a link
- from `your-machine`.h and things like the VSSIZE,
- are also specified in that file. There are also
- files such as bsd.h , att.h (for system V) which
- can be included by the various special machine files.
-
- * c support for extended_div was added, and will
- be used if USE_C_EXTENDED_DIV is defined. The only
- function which does not have a C definition on the sun4
- version is extended_mul. Note that the c version
- of extended_div is included in big.c rather than earith.c
- since the latter is not compiled with the optimize switch.
-
- * The assembler functions of bitop.c had been being redefined
- by macros in gbc.c in an earlier change (this was actually
- 4 times faster on a sun3), and now those functions have
- dummy definitions, which will go away soon.
-
- Wed Aug 31 23:38:08 1988 Bill Schelter (wfs at rascal)
-
- * use varargs for the funlink of proclaimed functions,
- This affects cmpcall.lsp, funlink.c and requires
- <varargs.h> to be included by cmpinclude.
- The old variable arg business was not portable to risc
- architectures, where args are passed in registers.
-
- * make print return a value in print.d
- Hope there are not more `implicit returns' hidden away.
-
- Fri Aug 19 15:13:06 1988 Bill Schelter (wfs at rascal)
-
- * Make (subtypep 'string-char 'character) --> t
-
- Wed Aug 3 11:33:20 1988 Bill Schelter (wfs at rascal)
-
- * I have removed the dynamic growing of the special binding
- stack which I had added a few months ago (cf bds.h,main.c,bds.c.)
- It had ignored
- the fact that some functions eg, Levalhook grab a pointer
- into the bds rather than just an index. These could easily have
- been changed, but until we allow the other stacks to grow
- dynamically, it is of questionable value.
-
- Fri Jul 1 09:41:36 1988 Bill Schelter (wfs at rascal)
-
- * allow assoc to take key in c/list.d as per mail
- 442 23-Jun pc%linus@mitre-bedford.ar KCL Bug: assoc doesn't take :key
-
-
- Wed Jun 15 16:46:40 1988 Bill Schelter (wfs at rascal)
-
- * Added support for switch construct (see cmpnew/cmptag.lsp
- for documentation)
- This will allow compiling into the c switch construct
- if (the test variable is declared to be a subtype of
- fixnum) which can then allow much faster switching on
- cases. To do:Should optimize some of case constructs into
- switch, where applicable.
-
- Wed Jun 8 11:43:00 1988 Bill Schelter (wfs at rascal)
-
- * Altered the marking of the c stack in gbc.c.
- Now the current location for the c stack is taken
- in a separate function from the one where the environment
- is forced onto the stack, so that we don't have to
- depend on the c compilers doing things in the expected
- order. See mark_stack_carefully. Also added a flag
- C_GC_OFFSET which if defined to 2, will mark
- the stack twice once on 4m and once on 4m+2.
-
- * changed the initialization in main.c of bds_org
- and bds_limit.
-
- This is to fit in with the earlier change to
- bds_overflow, to allow the bds to grow. bds_org
- is now a pointer rather than a hardwired value.
-
-
- Tue Jun 7 04:44:15 1988 Bill Schelter (wfs at rascal)
-
- * Fix equalp to use the fill-pointer as a limit
- when comparing strings,vectors and bitvectors.
-
-
- Mon Jun 6 11:29:08 1988 Bill Schelter (wfs at rascal)
-
- * Fix rotatef in setf.lsp to return NIL per CLtL
- * Fix handling of &rest arg in cmplam.lsp
- c2lambda-expr-without-key as per bug fix of Yuasa
- 12-Nov yuasa%kurims.kurims.kyoto A bug fix
- * Add the fix to quick-sort as per
- 67 12-Jan yuasa%tutics.tut.junet%ut Re: sort bug
- * Add fix for shadowing-import per
- 68 12-Jan yuasa%tutics.tut.junet%ut Re: SHADOWING-IMPORT doesn't
- * Fix (random 0) bug, adding TSpositive_number type. as per
- 69 12-Jan yuasa%.. Re: (random 0) => losing error message
- * Fix (make-array 2 0) bug per
- 70 13-Jan yuasa%tutics.tut.junet%ut Re: Nil is a sequence
- * Add bogus value (*READ-DEFAULT-FLOAT-FORMAT* t) when
- printing a float in a compiled file, so that it will always
- add the type in the printing, and we won't get a float
- type different from that used at compile time
- cf. 80 28-Jan yuasa%tutics.tut.junet%ut Re: float numbers
- * Add fix for bug
- setf (aref x (decf i)) (aref x 1)) ->
- "base[2]= aset1(base[0],V1,fix(base[1]));"
- to cmpinline.lsp, as per
- 92 8-Feb yuasa%tutics.tut.junet%ut Re: compiler bug?
- *All fixes by yuasa in the kcl-mail-archive thru Jun 88
- are now incorporated in akcl
- * Altered cmp-macroexpand-1 to use the local macro environment
-
-
-
-
- Wed Jun 1 13:29:57 1988 Bill Schelter (wfs at rascal)
-
- * Altered macros.c to pass the function-macro environment
- if it is non nil. This is needed so that macro expansion
- functions can be called in the correct environment.
- Altered cmputil.lsp so that cmp-macroexpand and cmp-macro-expand
- both use the current compiler macro environment.
- Finally altered setf, so that it looks at the macro
- environment when it expands the place.
-
- Deleted treatment of setf as special form by the compiler,
- (introduced yesterday!)
- now that macros are handled correctly, and it is defined
- correctly as a macro.
-
- Things like
- (macrolet ((ab nil 'a)) (setf (the fixnum (ab)) 3))
- Now work to give (set 'a (the fixnum 3)) as expected.
-
-
-
- Mon May 30 11:40:47 1988 Bill Schelter (wfs at rascal)
-
- * Altered setf to macroexpand the place in the current
- lexical environment so that
- (macrolet ((joe nil 'bil))(setf (joe) n))
- would behave correctly. This change was in assignment.c
- in `setf' and also in cmputils.lsp adding c1setf, to
- get analagous treatment for compiler.
- To do:
- It is still not totally correct: I don't handle
- (macrolet ((joe nil 'bil))(setf (the fixnum (joe)) n))
- but
- (macrolet ((joe nil '(the fixnum bil)))(setf (joe) n))
- is ok.
-
- Tue May 24 09:38:58 1988 Bill Schelter (wfs at rascal)
-
- * Changed float to return single-float if given only one
- arg, as per CLtL.
-
- * Added a dynamic growth feature the bds stack, changing
- bds_org to be a variable rather than a macro, and altering
- bds_overflow.
-
- *Enforce substantial constraints on downward closures ,to be relaxed
- at a future date: Currently no args, and no cross references
- to other types of closures. This is done in check-downward
- in t1defun.
-
-
-
-
-
-
-
-
-